interface IAccountLoginParam {
    username: string,
    password: string
}

type userInfoType = {
    id: number,
    username: string,
    permission: {
        key: number,
        label: string
    },
    avatar_url: string
}

export interface IState {
    userInfo: userInfoType,
}

export interface IActions {
    resetAccountAction: () => void
    setUserInfoAction: (userInfo: userInfoType) => void
    logoutAction: () => void
    accountLoginAction: (params: IAccountLoginParam) => void
}

// 加个enum
export enum URL_TYPE {
    ACCOUNT_LOGIN = "account/login",
    ACCOUNT_LOGOUT = "account/logout",
    ACCOUNT_UPDATE = "account/update",
}
